flotation mining docks scheduling metallurgy engineering float engine constraint programming planning gold mathematical programming floatation optimization hydrometallurgy seo operations research software construction search